package study

//多个项目之间怎么使用nginx来配置管理
func nginxManageMultiProject() {
	/*
			本地启动两个不同端口8080,8081 go.exe程序
			反向代理
				用户请求一个域名:89 ,nginx自动分配请求到8080,8081端口，8081的权重是2,8080的权重是1


									 服务器1[147.xxx:8080]
		用户	---	nginx  -------   服务器2[85.xxx:8080]
									 服务器3[254.xxx:8080]

		用户去请求三个服务器不现实，需要在用户与服务前之间加一层nginx
		用户访问nginx，固定的端口如80,443
		nginx的nginx.conf配置中的反向代理[proxy_pass:http/https:均衡负载的name]和均很负载[upstream name]




			配置：
				编辑 nginx.conf 文件

			nginx.conf 有三块部分

		全局配置
		#user  nobody
		;worker processes	l;
		#error_log logs/error.log;
		#error_log logs/error.log	notice;
		#error_log	logs/error.log	info;
		#pid	logs/nginx.pid;

		事件
		events {
			worker_connections	1o24;
		}

		http部分{
			1.http部分的全局变量/配置

			2.upstream xx{
				//负载均衡配置
			}

			非常多的server，每一个server都可以配置不同的服务
			server{
				listen	80;	#http的默认端口
				server name	localhost;
				//代理   监听的80端口请求就会被下面的代理配置所代理
				//location 配置
				#www.zydh.com:80
				location / {  #访问80端口的根目录，就会走到这里面的配置
					//xxx配置	128.xxx服务器
				}

				#www.zydh.com/admin
				location /admin {  #访问80端口的根目录，就会走到这里面的配置
					//xxx配置	47.xx服务器
				}
			}
			server{
					listen	443;	#https的默认端口
					server name	localhost;
				}
		}



		http {
		----------http部分的全局变量---start------
		include		mime.types;
		default_type	application/octet-stream;
		#log_format main 	'$remote_addr - $remote_user [$time_local]
		#					'$status $body bytes_sent "$http_referer"
		#					'"$http user agent" "$http_x_forwarded_for
		#access_log		logs/access.log		main;
		sendfile	on;
		#tcp_nopush on;
		#keepalive_timeout 0;
		keepalive_timeout	65;
		#gzipon on;
		----------http部分的全局变量---end------

		---------均很负载---start------
		upstream zydh { #zydh 是任意取名，此处的名字是为了给下面的location的proxy_pass代理使用
			#配置服务器资源   weight 权重 有三个请求，大致会1个会到8080，两个会到8081
			server 47.28.3.147:8080	weight=1;
			server 175.4.55.581:8081 weight=2;
		}
		---------均很负载---start------


		#http
		server {
			listen	80;	#http的默认端口
			server name	localhost;
			#charset koi8-r;
			#access_log	logs/host.access.log	main;
			location / {
				root	html;
				index index.html index.htm;
				//代理  //因为有两台服务器，所以需要加一个均衡负载的配置
				proxy_pass http://zydh; #把80的/根目录请求代理到zydh的均很负载
			}

			#error _page 404	/404.html;
			# redirect server error pages to the static page /50x.html
			#
			error_page500 502 503 504/50x.html;
			location = /50x.html {
				root	html;
			)
			# proxy the PHP scripts to Apache listening on 127.0.0.1:80
			#
			#location ~ \.php$ {
			#	proxy_passhttp://127.0.0.1;
			# }
			# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000#

			}


		#another virtual host using mix of IP-,name-, and port-based configuration
		#server {
		#	listen	8000;
		#	listen	somename:8080;
		#	server_name somename	alias another.alias;
		#	location / {
		#		root	html;
		#		index	index.html index.htm;
		#	}
		#}


		#HTTPS server
		#server {
		#	listen	443 ssl;
		#	server_name	localhost;
		#	ssl_certificate	cert.pem;
		#	ssl_certificate_key cert.key;
		#	ssl_session_cache	shared:ssL:lm;
		#	ssl_session_timeout 5m;
		#	ssl_ciphers	HIGH:!aNULL:!MD5;
		#	ssl _prefer_server_ciphers	on;
		#	location / {
		#		root	html;
		#		index	index.html index.htm;
		#	}
		#}



	*/
}
